public class Lista {

	private String campo;
	private Lista proximo;

	Lista() {
		campo = "";
		proximo = null;
	}

	public String getCampo() {
		return campo;
	}

	public void setCampo(String campo) {
		this.campo = campo;
	}

	public Lista getProximo() {
		return proximo;
	}

	public void setProximo(Lista proximo) {
		this.proximo = proximo;
	}

	public void adicionar(String campo) {
		Lista aux = new Lista();
		Lista aux2 = new Lista();
		aux.setCampo(campo);

		if (this.getProximo() == null) {
			this.setProximo(aux);
		} else {
			aux2.setProximo(this);
			while (aux2.getProximo() != null) {
				aux2 = aux2.getProximo();
			}
			aux2.setProximo(aux);
		}

	}

	public void ordenar() {
		Lista percorreLista1 = new Lista();
		Lista percorreLista2 = new Lista();
		Lista indiceMin = new Lista();
		Lista troca = new Lista();
		int t = 0;

		percorreLista1 = this.getProximo();
		while (percorreLista1 != null) {
			indiceMin = percorreLista1;
			percorreLista2 = percorreLista1.getProximo();
			while (percorreLista2 != null) {
				if (percorreLista2.getCampo().compareTo(
						percorreLista1.getCampo()) < 0) {
					indiceMin = percorreLista2;
					t = 1;
				}
				percorreLista2 = percorreLista2.getProximo();
			}
			if (t == 1) {
				troca.setCampo(percorreLista1.getCampo());
				percorreLista1.setCampo(indiceMin.getCampo());
				indiceMin.setCampo(troca.getCampo());
				t = 0;
			}
			percorreLista1 = percorreLista1.getProximo();
		}
	}
	
	


	public void remover(String campo) {

		Lista aux = new Lista();
		Lista aux2 = new Lista();
		aux = this.getProximo();
		aux2 = this.pesquisarLista(campo);
		while (aux != null) {

			if (aux.getProximo() == aux2) {
				aux.setProximo(aux2.getProximo());
			}
			aux = aux.getProximo();
		}
	}

	public boolean pesquisar(String campo) {
		Lista aux = new Lista();
		aux = this.getProximo();
		while (aux != null) {
			if (aux.getCampo().equalsIgnoreCase(campo)) {
				return true;

			}
			aux = aux.getProximo();

		}
		return false;
	}

	public Lista pesquisarLista(String campo) {
		Lista aux = new Lista();
		aux = this.getProximo();
		while (aux != null) {
			if (aux.getCampo().equalsIgnoreCase(campo)) {
				return aux;
			}
			aux = aux.getProximo();
		}
		return null;
	}

	public void listar() {
		Lista aux = new Lista();
		aux = this.getProximo();
		System.out.print("Lista: ");
		while (aux != null) {
			System.out.print(aux.getCampo() + " ");
			aux = aux.getProximo();
		}
	}

}
